/**
 * @filename:SubCourseService Course
 * @project constract  V1.0
 * Copyright(c) 2018 gong Co. Ltd. 
 * All right reserved. 
 */
package com.znufe.exam.service;

import java.util.List;

import com.github.pagehelper.PageInfo;
import com.znufe.exam.domain.SubCourse;
import com.znufe.exam.domain.subcourse.SubCourseResponseObject;
import com.znufe.exam.viewmodel.admin.subCourse.SubCoursePageRequestVm;
import io.swagger.models.auth.In;

/**
 *  
 * @Description:  课程表——SERVICE
 * @Author:       gong   
 * @CreateDate:   Course
 * @Version:      V1.0
 *    
 */
public interface SubCourseService extends BaseService<SubCourse>{
	
	/**
	 * @explain 查询课程表对象
	 * @param   id
	 * @return  SubCourse
	 * @author  gong
	 */
	SubCourse selectByPrimaryKey(Integer id);
	
	/**
	 * @explain 删除课程表对象
	 * @param   id
	 * @return  int
	 * @author  gong
	 */
	int deleteByPrimaryKey(Integer id);
	
	/**
	 * @explain 添加课程表对象
	 * @param   subCourse
	 * @return  int
	 * @author  gong
	 */
	int insertSelective(SubCourse subCourse);
	
	/**
	 * @explain 修改课程表对象
	 * @param   subCourse
	 * @return  int
	 * @author  gong
	 */
	int updateByPrimaryKeySelective(SubCourse subCourse);
	
	/**
	 * 查询课程表集合
	 * @param   subCourse
	 * @return  List<SubCourse>
	 * @author  gong
	 */
	List<SubCourse> querySubCourseList(SubCourse subCourse);
	
	List<Integer> getAllLecturerId(List<Integer> ids);

    /**
     * 分页展示视频信息
     * @param requestVm
     * @return
     */
	PageInfo<SubCourseResponseObject> subCoursePage(SubCoursePageRequestVm requestVm);

    /**
     * 根据名称查找视频
     * @param subCourseName
     * @return
     */
	SubCourse selectSubCourseByName(String subCourseName);

    /**
     * 获取所有子课程
     * @return
     */
	List<SubCourse> getAllVideo();

    /**
     * 根据视频ID列表查询所有视频
     * @param subCourseIds
     * @return
     */
	List<SubCourse> getSubCourseByIds(List<Integer> subCourseIds);

}